package com.train.mgr.modules.biz.utils;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.math.BigDecimal;

/**
 * 【准确度】根据分数生成报告分析文案
 */
@Getter
@AllArgsConstructor
public enum AccuracyScoreLevel {

    PERFECT(100, 100, "完整覆盖了标准话术的关键词，继续保持！您正在成为客户信赖、团队敬佩的顶尖销售！"),
    GREAT  (90,  99, "基本掌握标准话术的关键词，表现稳定专业。但仍有1个核心关键词遗漏，可能影响信息完整传递。"),
    GOOD   (70,  89, "话术基础较扎实，但发力不足，仍有少量核心关键词遗漏，可能导致价值传递不充分。"),
    POOR   (50,  69, "能与客户建立基本沟通，但关键信息链条不完整，可能让客户产生疑虑。"),
    FAIL   (0,   49, "与标准话术关键词要求存在较大偏差，客户可能未能充分理解产品价值。建议重新学习标准话术模板，并进行熟记关键词。");

    private final int min;
    private final int max;

    private final String template;

    public static AccuracyScoreLevel levelOf(BigDecimal score) {
        int val = score.intValue();
        for (AccuracyScoreLevel l : values()) {
            if (val >= l.min && val <= l.max) {
                return l;
            }
        }
        return FAIL; // 兜底
    }
}
